


#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int j, n, k;
vector<int> a;
int main() {
    cin >> j >> n >> k;
    for(int i = 0; i < n; i++) {
        int temp;
        cin >> temp;
        a.push_back(temp);
    }
    int ans = 0;
    int l = 1, r = j;
    while(l <= r) {
        int mid = l + (r - l) / 2;
        int x = 0;
        for(int i = 1; i < n; i++) {
            int temp = a[i] - a[i - 1];
            if(temp > mid) {
                x += (temp - 1) / mid;
            }
        }
        if(x <= k) {
            ans = mid;
            r = mid - 1;
        }else {
            l = mid + 1;
        }
    }
    cout << ans << endl;
    return 0;
}